package ca.cbc.medialib.service;

import ca.cbc.medialib.entity.Category;
import ca.cbc.medialib.entity.FailedMedia;
import ca.cbc.medialib.entity.Media;

import java.util.List;

/**
 * @author Arash Bizhanzadeh <arash.bizhan-zadeh@cbc.ca>
 *         Date: 06/06/11
 *         Time: 12:27 PM
 *         Copyrighted to CBC. All rights reserved.
 *         This interface interact with local storage of the media.
 */
@Deprecated
public interface MediaStorageService {
    public void saveMedia(Media m);

    public void mergeMedia(Media m);

    public Media getMedia(long id);

    public Media getMediaByReleaseId(long releaseId);

    public List<Media> listExpiredMedia(int first, int max);

    public void deleteMediaByReleaseId(long releaseId);

    public Category getCategoryByFullTitle(String fullTitle);

    public Category getCategory(long id);

    public void saveCategory(Category category);

    public void saveFailedMedia(FailedMedia m);

    public List<FailedMedia> listFailedMedia();

    public void delete(Object obj);

    public void saveOrUpdate(Object obj);

    public Object get(long id, @SuppressWarnings("rawtypes") Class c);

    public void save(Object obj);

    public String runSqlQuery(String query);
}
